This section describes a typical workflow for creating a Linux virtual machine in IEC. For general VM configuration options, see Creating a Virtual Machine.
Overview
When creating a Linux VM, users typically configure the VM name, namespace, CPU, memory, storage, network, scheduling rules, and advanced options. If the selected Linux image supports cloud-init, users can also configure SSH-based remote access and automated guest initialization.
Most modern Linux distributions support VirtIO devices by default. For best performance, use VirtIO for supported storage and network devices.
Prerequisites
Before creating a Linux VM, verify the following:
- A Linux operating system image has already been uploaded
- The required namespace is available
- Required storage resources are available
- An SSH key is prepared if SSH-based login will be used
- The selected Linux image supports cloud-init if SSH key injection or network data configuration is required
Procedure
Step 1: Open the Virtual Machine Creation Page
- Go to EonKube > Virtualization > Virtual Machines.
- Click Create.
Step 2: Configure Basic Settings
In the Basic section, configure the following:
- Namespace: Select the namespace where the VM will be created.
- Name: Enter a name for the VM.
- Description: Optional.
Configure the compute resources:
- CPU: Allocate at least 1 core for a basic Linux installation.
- Memory: Allocate at least 2 GiB for a basic Linux installation.
- SSH Key: Select or specify an SSH key if the image supports cloud-init and SSH key injection.
- GPU: Optional. Configure GPU allocation only if required.
Step 3: Configure Disk/CD-ROM Settings
In the Disk/CD-ROM section, configure the VM storage layout.
- Select the Virtual Machine Image as the source disk.
- Configure the disk settings:
- Name: For example, disk-0
- Image: Select the uploaded Linux image, such as rocky-9-x86_64-dvd.iso
- StorageClass: Select the required storage backend
- Size: Specify the required disk size(e.g., 10 GiB)
Note:
According to the size of the OS image you selected, the size of the image volume will automatically adjust.
- Bus Type: Select VirtIO if supported
If needed, add additional disks or CD-ROM devices:
- Add Existing Disk
- Add Disk
- Add CD-ROM
If multiple bootable devices are present, adjust the boot order as needed.
Step 4: Configure Network Settings
In the Networks section, the system creates nic-0 by default as the primary network interface for pod network connectivity.
For the default interface nic-0:
- The Name field is preset to nic-0
- The Model field is preset to e1000
- Only the MAC address can be configured manually
This default interface provides the Linux virtual machine with basic connectivity to the Kubernetes environment.
If additional network connectivity is required, click Add Network to add another interface, such as nic-1. Additional interfaces can be used for secondary or bridged network access, depending on the environment and platform configuration.
For additional interfaces, users can typically configure:
- Name
- Model
- MAC address
If the selected Linux distribution supports VirtIO network drivers, virtio is recommended for additional interfaces to improve network performance.
Note:
Most modern Linux distributions include VirtIO drivers by default, so additional interfaces using virtio are generally supported without manual driver installation.
Step 5: Configure Node Scheduling
In the Node Scheduling section, choose where the VM can run. Available options include:
- Run on any available node
- Run on a specific node
- Run on nodes matching scheduling rules
If node selection rules are required:
- Click Add Node Selector.
- Select Required or Preferred.
- Add one or more rules.
- Save the scheduling configuration.
Step 6: Configure Advanced Options
In the Advanced Options section, configure the Linux-specific runtime options. Recommended settings:
- OS Type: Select Linux
- Run Strategy: Select the appropriate option for the workload
- Hostname: Optional. By default, the hostname follows the VM name
- Cloud Configuration / Network Data: Configure if cloud-init is required
- Enable USB Tablet: Keep enabled if VNC access will be used
- Install Guest Agent: Recommended
- Booting in EFI Mode: Enabled by default
- Secure Boot: Optional
If cloud-init is used, configure the required user data and network data before creation.
Step 7: Create the VM
- Review the complete configuration.
- Click Create.
The creation process may take several minutes.
After the VM Is Created
After the Linux VM is created:
- Open the VM from EonKube > Virtualization > Virtual Machines.
- Review the VM status.
- Open the console if needed by selecting:
- Open in Web VNC
- Open in Serial Console
- If SSH access was configured successfully, connect by using:
- OpenSSH
- PuTTY
Use the VM IP address and the configured SSH credentials or SSH key.
Note:
- Most Linux distributions load VirtIO drivers automatically.
- If cloud-init is not supported by the selected image, SSH key injection and automated network configuration may not work as expected.
- Additional CPU, memory, and storage may be required for application workloads beyond the base operating system.